1. Field of the Invention
The present invention relates generally to data processing and, more particularly, to systems and methods for precomputing data in a software packet processing environment.
2. Description of Related Art
Network devices, such as routers, receive data on physical media, such as optical fiber, analyze the data to determine its destination, and output the data on physical media in accordance with the destination. Routers were initially designed using a general purpose processor executing large software programs. As line rates and traffic volume increased, however, general purpose processors could not scale to meet the new demands. For example, as new functions, such as accounting and policing functionality, were added to the software, these routers suffered performance degradation. In some instances, the routers failed to handle traffic at line rate when the new functionality was added.
To meet the new demands, new routers were designed. One type of new router is a processor-based software packet processing system. A processor-based software packet processing system generally includes a processor connected to a memory system via an interface. The interface performs no autonomous forwarding of packets, but simply stores them for processing by the processor.
Software packet processing systems are very flexible and can implement very complex functions. The performance of the software packet processing systems is poor, however, relative to what is possible with dedicated hardware packet processing.
As a result, there is a need for mechanisms for improving the performance of a software packet processing system.